A New Structural Induction Scheme for Proving Properties of Mutually Recursive Concepts

نویسندگان

  • Peiya Liu
  • Ruey-Juin Chang
چکیده

Structural induction schemes have been used for mechanically proving properties of self-recursive concepts in previous research. However, based on those schemeq, it becomes very difficult to automatically generate the right induction hypotheses whenever the conjectures are involved with mutually recursive concepts. This paper will show that the difficulties come mainly from the weak induction schemes provided in the past, and a strong induction scheme is needed for the mutually defined concepts. Furthermore, a generalized induction principle is provided to smoothly integrate both schemes. Thus, in this mechanical induction, hypotheses are generated by mixing strong induction schemes with weak inductions schemes. While the weak induction schemes are suggested by selfrecursive concepts, the strong induction schemes are suggested by mutually recursive concepts.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Eeective Support for Mutually Recursive Types

For purposes of formal analysis, it is common to form a model of a system within a logic. This sometimes requires the introduction of new types which are mutually recursive. HOL90 has possessed for several years now two excellent libraries for mutually recursive types. Despite their powerful functionality, they are discovered to be diicult to use in practice. The input speciications of the mutu...

متن کامل

Structural Induction Principles for Functional Programmers

User defined recursive types are a fundamental feature of modern functional programming languages like Haskell, Clean, and the ML family of languages. Properties of programs defined by recursion on the structure of recursive types are generally proved by structural induction on the type. It is well known in the theorem proving community how to generate structural induction principles from data ...

متن کامل

Automatic Generation of Generalization Lemmas for Proving Properties of Tail-Recursive Definitions

Automatically proving properties of tail-recursive function definitions by induction is known to be challenging. The difficulty arises due to a property of a tail-recursive function definition typically expressed by instantiating the accumulator argument to be a constant only on one side of the property. The application of the induction hypothesis gets blocked in a proof attempt. Following an a...

متن کامل

Proving properties of programs by structural induction

This paper discusses the technique of structural induction for proving theorems about programs. This technique is closely related to recursion induction but makes use of the inductive definition of the data structures handled by the programs. It treats programs with recursion but without assignments or jumps. Some syntactic extensions to Landin's functional programming language ISWIM are sugges...

متن کامل

Multi-Predicate Induction Schemes for Mutual Recursion

Where mutually recursive data types are used in programming languages, etc., mutually recursive functions are usually required. Mutually recursive functions are also quite common for non-mutually recursive types. Reasoning about recursive functions requires some form of mathematical induction but there have been difficulties in adapting induction methods for simple recursion to the mutually rec...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1987